function ValidarCpf(campo) {
var cpf = campo.value; // Recebe o valor digitado no campo

if (cpf == NULL)
    alert('CPF não pode estar vazio!');
    
// Aqui começa a checagem do CPF
var posicao, i, soma, dv, dvInformado;
var digito = new Array(10);
dvInformado = cpf.substr(9, 2); // Retira os dois últimos dígitos do número informado

// Desemembra o número do CPF na array DIGITO
for (i = 0; i <= 8; i++) {
  digito[i] = cpf.substr( i, 1);
}

// Calcula o valor do 10º dígito da verificação
posicao = 10;
soma = 0;
   for (i = 0; i <= 8; i++) {
      soma = soma + digito[i] * posicao;
      posicao = posicao - 1;
   }
digito[9] = soma % 11;
   if (digito[9] < 2) {
        digito[9] = 0;
}
   else{
       digito[9] = 11 - digito[9];
}

// Calcula o valor do 11º dígito da verificação
posicao = 11;
soma = 0;
   for (i = 0; i <= 9; i++) {
      soma = soma + digito[i] * posicao;
      posicao = posicao - 1;
   }
digito[10] = soma % 11;
   if (digito[10] < 2) {
        digito[10] = 0;
   }
   else {
        digito[10] = 11 - digito[10];
   }

// Verifica se os valores dos dígitos verificadores conferem
dv = digito[9] * 10 + digito[10];
   if (dv != dvInformado) {
      alert('CPF inválido!');
      campo.value = '';
      campo.focus();
      return false;
   }
}